[자바(Java)] 자바 성능팁 배열리스트,링크드리스트 (Java PerformenceTip ArrayList/LinkedList)
이미지출처 : blogs.sun.com
http://java.sun.com/developer/JDCTechTips/2002/tt0910.html
ArrayList/LinkedList
———————————–
ArrayList가 빠르다! 아니다 LinkedList가 빠르다!
말이 많다..
사람마다 잘하는 일이 다르듯이..
ArrayList와 LinkedList도 잘하는 일이 다르다.
ArrayList는 어릴적에 주로 레고를 가지고 놀아서,
임의적 접근에 강하다.
예를 들자면..
1000개의 음반중에 128번째 들어있는 음반을 듣고 싶다던가 할 때. musicArrayList.get(128) 으로 찾는게 빠르다는 것이다.
LinkedList는 어릴적에 주로 도미노게임을 하며 자라서 그런지..
줄세우는것에 강하다.
1000개의 음반을 사와서 차곡차곡 음반진열장에 넣는데 특화되있는것이다.
for(int i=0;i<1000;i++) {
musicLinkedList.add(musicAlbum[i]);
}
Zero Length Array
———————————–
리스트를 배열로 바꿀때 길이가 0인 배열을 파라메터로 넣어주면..
리스트가 비어있을때엔 길이가 0인 배열을 바로 넣어주고,
리시트가 차있을때엔 리스트에 들어있는 (Object)타입을 파라메터에 맞게 변환해주는 효과가 있다.
String out[] = (String[])stringlist.toArray(new String[0]);
Reference
———————————–
Using ArrayList/LinkedList and Using Zero-Length Arrays
(http://java.sun.com/developer/JDCTechTips/2002/tt0910.html)